

// const urlSearchParams = new URLSearchParams('wd=中国&city=上海')
const searchParams = new URLSearchParams('?query=string')
 // URLSearchParams() 构造函数可以接受一个查询字符串作为参数，用于初始化 URLSearchParams 对象。
 console.log("searchParams", searchParams);

 // URLSearchParams.append(name, value)：向查询字符串中添加一个新的参数。可以append多个同名的，不会覆盖，会追加
 searchParams.append("gender", "male");
 searchParams.append("gender", "female");

 console.log(searchParams.getAll("gender")); // 数组  ['male', 'female']
 console.log(searchParams.get("gender")); // 字符串 'male' 如果有多个，默认返回第一个
 console.log(searchParams.get("age")); // get 一个不存在的，返回null

 console.log(searchParams.has("gender")); // 存在返回true
 console.log(searchParams.has("age")); // 不存在返回false

 // URLSearchParams.set(name, value)：设置查询字符串中指定参数的值，如果参数不存在，则添加新的参数。
 searchParams.set("age", 18);
 console.log(searchParams.get("age")); // 18

 // URLSearchParams.delete(name)：从查询字符串中删除指定的参数。
 searchParams.delete("age");
 console.log(searchParams.get("age")); // null  因为age被上一行删除了，所以返回null

 // URLSearchParams.toString()：将 URLSearchParams 对象转换为字符串表示形式，返回查询字符串。
 console.log(searchParams.toString()); // name=jerry&gender=male&gender=female

 // 按照参数名称对查询字符串中的参数进行排序。
 searchParams.sort();
 console.log(searchParams.toString()); // gender=male&gender=female&name=jerry

 // entries() 方法用于返回一个迭代器，该迭代器包含了所有查询参数的键值对。
 for (const [key, value] of searchParams.entries()) {
   console.log(key, value);
 }
 // gender male
 // gender female
 // name jerry

 searchParams.forEach((value, key) => {
   console.log(key, value);
 });
 // gender male
 // gender female
 // name jerry

 console.log(searchParams.keys());

 // keys() 方法用于返回一个迭代器，该迭代器包含了所有查询参数的键。
 for (const key of searchParams.keys()) {
   console.log(key);
 }
 // gender
 // gender
 // name

 // values() 方法用于返回一个迭代器，该迭代器包含了所有查询参数的值。
 for (const value of searchParams.values()) {
   console.log(value);
 }
 // male
 // female
 // jerry





